package org.platform.mo.db;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;

@Table(name = "tb_fd_diagnosetask_treenode")
public class FdDiagnoseTaskTreeNode {
    /**
     * ID
     */
    @Id
    @Column(name = "ID")
    private String id;

    /**
     * 诊断ID
     */
    @Column(name = "DiagnoseID")
    private String diagnoseid;

    /**
     * 关联子诊断ID
     */
    @Column(name = "SubID")
    private String subid;

    /**
     * 树ID
     */
    @Column(name = "TreeID")
    private Long treeid;

    /**
     * 知识ID
     */
    @Column(name = "KnowledgeID")
    private Long knowledgeid;

    /**
     * 设备ID
     */
    @Column(name = "DeviceID")
    private String deviceid;

    /**
     * 名称
     */
    @Column(name = "Name")
    private String name;

    /**
     * 节点类型(0：描述节点 1：诊断节点 2：算法节点 )
     */
    @Column(name = "NodeType")
    private Integer nodetype;

    /**
     * 知识类型(0：监测点知识
     * 1：测试知识
     * 2：故障树知识
     * 3：案例知识
     * 4：专家知识
     * 5：标准参考源知识
     * 6：文档知识
     * -1: 无需处理
     * )
     */
    @Column(name = "KnowledgeType")
    private Integer knowledgetype;

    /**
     * 父节点号
     */
    @Column(name = "ParentID")
    private Long parentid;

    /**
     * 孩子节点
     */
    @Column(name = "Children")
    private String children;

    /**
     * 位置
     */
    @Column(name = "Position")
    private String position;

    /**
     * 开始时间
     */
    @Column(name = "StartTime")
    private Long starttime;

    /**
     * 结束时间
     */
    @Column(name = "EndTime")
    private Long endtime;

    /**
     * 算法类型(0：与
     * 1：或
     * 2：与或
     * 3：亦或
     * )
     */
    @Column(name = "ArithType")
    private Integer arithtype;

    /**
     * 状态(0：Wait
     * 1：Execute
     * 2：Succeed
     * 3：Abort
     * 4：Failure
     * )
     */
    @Column(name = "Status")
    private Integer status;
    /**
     * 诊断结果(0:成功; 1:失败; 2:废弃(超时); 3:未开始状态(无结果); 4:手动取消; 5:无法诊断推理)
     */
    @Column(name = "Result")
    private Integer result;

    public Integer getResult() {
        return result;
    }

    public void setResult(Integer result) {
        this.result = result;
    }

    /**
     * 获取ID
     *
     * @return ID - ID
     */
    public String getId() {
        return id;
    }

    /**
     * 设置ID
     *
     * @param id ID
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * 获取诊断ID
     *
     * @return DiagnoseID - 诊断ID
     */
    public String getDiagnoseid() {
        return diagnoseid;
    }

    /**
     * 设置诊断ID
     *
     * @param diagnoseid 诊断ID
     */
    public void setDiagnoseid(String diagnoseid) {
        this.diagnoseid = diagnoseid;
    }

    /**
     * 获取关联子诊断ID
     *
     * @return SubID - 关联子诊断ID
     */
    public String getSubid() {
        return subid;
    }

    /**
     * 设置关联子诊断ID
     *
     * @param subid 关联子诊断ID
     */
    public void setSubid(String subid) {
        this.subid = subid;
    }

    public String getDeviceid() {
        return deviceid;
    }

    public void setDeviceid(String deviceid) {
        this.deviceid = deviceid;
    }

    /**
     * 获取树ID
     *
     * @return TreeID - 树ID
     */
    public Long getTreeid() {
        return treeid;
    }

    /**
     * 设置树ID
     *
     * @param treeid 树ID
     */
    public void setTreeid(Long treeid) {
        this.treeid = treeid;
    }

    /**
     * 获取知识ID
     *
     * @return KnowledgeID - 知识ID
     */
    public Long getKnowledgeid() {
        return knowledgeid;
    }

    /**
     * 设置知识ID
     *
     * @param knowledgeid 知识ID
     */
    public void setKnowledgeid(Long knowledgeid) {
        this.knowledgeid = knowledgeid;
    }

    /**
     * 获取名称
     *
     * @return Name - 名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置名称
     *
     * @param name 名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取节点类型(0：描述节点 1：诊断节点 2：算法节点 )
     *
     * @return NodeType - 节点类型(0：描述节点 1：诊断节点 2：算法节点 )
     */
    public Integer getNodetype() {
        return nodetype;
    }

    /**
     * 设置节点类型(0：描述节点 1：诊断节点 2：算法节点 )
     *
     * @param nodetype 节点类型(0：描述节点 1：诊断节点 2：算法节点 )
     */
    public void setNodetype(Integer nodetype) {
        this.nodetype = nodetype;
    }

    /**
     * 获取父节点号
     *
     * @return ParentID - 父节点号
     */
    public Long getParentid() {
        return parentid;
    }

    /**
     * 设置父节点号
     *
     * @param parentid 父节点号
     */
    public void setParentid(Long parentid) {
        this.parentid = parentid;
    }

    /**
     * 获取孩子节点
     *
     * @return Children - 孩子节点
     */
    public String getChildren() {
        return children;
    }

    /**
     * 设置孩子节点
     *
     * @param children 孩子节点
     */
    public void setChildren(String children) {
        this.children = children;
    }

    /**
     * 获取位置
     *
     * @return Position - 位置
     */
    public String getPosition() {
        return position;
    }

    /**
     * 设置位置
     *
     * @param position 位置
     */
    public void setPosition(String position) {
        this.position = position;
    }

    /**
     * 获取开始时间
     *
     * @return StartTime - 开始时间
     */
    public Long getStarttime() {
        return starttime;
    }

    /**
     * 设置开始时间
     *
     * @param starttime 开始时间
     */
    public void setStarttime(Long starttime) {
        this.starttime = starttime;
    }

    /**
     * 获取结束时间
     *
     * @return EndTime - 结束时间
     */
    public Long getEndtime() {
        return endtime;
    }

    /**
     * 设置结束时间
     *
     * @param endtime 结束时间
     */
    public void setEndtime(Long endtime) {
        this.endtime = endtime;
    }

    public Integer getKnowledgetype() {
        return knowledgetype;
    }

    public void setKnowledgetype(Integer knowledgetype) {
        this.knowledgetype = knowledgetype;
    }

    /**
     * 获取算法类型(0：与
     * 1：或
     * 2：与或
     * 3：亦或
     * )
     *
     * @return ArithType - 算法类型(0：与
     * 1：或
     * 2：与或
     * 3：亦或
     * )
     */
    public Integer getArithtype() {
        return arithtype;
    }

    /**
     * 设置算法类型(0：与
     * 1：或
     * 2：与或
     * 3：亦或
     * )
     *
     * @param arithtype 算法类型(0：与
     *                  1：或
     *                  2：与或
     *                  3：亦或
     *                  )
     */
    public void setArithtype(Integer arithtype) {
        this.arithtype = arithtype;
    }

    /**
     * 获取状态(0：Wait
     * 1：Execute
     * 2：Succeed
     * 3：Abort
     * 4：Failure
     * )
     *
     * @return Status - 状态(0：Wait
     * 1：Execute
     * 2：Succeed
     * 3：Abort
     * 4：Failure
     * )
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置状态(0：Wait
     * 1：Execute
     * 2：Succeed
     * 3：Abort
     * 4：Failure
     * )
     *
     * @param status 状态(0：Wait
     *               1：Execute
     *               2：Succeed
     *               3：Abort
     *               4：Failure
     *               )
     */
    public void setStatus(Integer status) {
        this.status = status;
    }
}